#include "PseudoGrepParser.h"
#include "AFD.h"
#include <iostream>
#include <fstream>
using namespace std;

int main(int argc, char *argv[])
{
    if (argc < 3) {
        cout << "Uso: pseudogrep regex file" << endl;
        return EXIT_FAILURE;
    }

    ifstream file(argv[2]);
    if (!file.is_open()) {
        cout << "No se pudo abrir el archivo" << endl;
        return EXIT_FAILURE;
    }

    set<char> alfabeto;
    for (char c = 'a'; c <= 'z'; c++)
        alfabeto.insert(c);
    for (char c = '0'; c <= '9'; c++)
        alfabeto.insert(c);

    AFND* afnd = er2afnd(argv[1], alfabeto);
    AFD afd(*afnd);

    string linea;
    while(getline(file, linea))
        if (afd.acepta(linea))
            cout << linea << endl;

    file.close();

    return EXIT_SUCCESS;
}
